#pragma once

#include <windows.h>
#include <string>
#include <vector>

using namespace std;

struct IPPORTITEM
{
	string ip;
	USHORT port;
};

class RSINF
{
public:
	RSINF(void);
	~RSINF(void);

	void GetGameInt(UINT id,string item,int *result);
	void GetGameInt(string idName,string item,int *result);
	void SetGameInt(UINT id,string item,int val);
	void SetGameInt(string idName,string item,int val);

	void GetGameStr(UINT id,string item,string &str);
	void GetGameStr(string idName,string item,string &str);
	void SetGameStr(UINT id,string item,string str);
	void SetGameStr(string idName,string item,string str);

	void GetIpAndPort(string &ip,USHORT &port);
	int GetIpCount();

	void GetGameData(UINT id,string item,BYTE *data,UINT &len);
	void SetGameData(UINT id,string item,const BYTE *data,UINT len);

	string m_ipFile;
	string m_cfgFile;
	string m_path;
	USHORT m_tdiPort;
	vector<IPPORTITEM> m_table;

	volatile bool m_makeInit,m_priorRead,m_readOnly,m_moveScreen,m_sendEvent,m_trace,m_useDriver,m_useCommonSock;
	volatile UINT m_threadNum,m_sleep;
};
